作成日:2022-12-22, 更新日:2023-07-03
基本
▼ひとまずこんな状態
Laravel8 「Blade Components」ってヤツとview周り: ひとまずハローワールド
やりたいこと
- titleタグの中身をページごとに変更させる: テキストを渡す
- titleタグの中身をページごとに変更させる: 変数を渡す
設定
共通設定: app/View/Components/〇〇〇Layout.php
「app/View/Components/CommonLayout.php」を修正する必要があるっぽい
▼メンバ変数の設定(※設定例のため、titleタグ・h1タグに値を渡す感じにする)
~ 省略 ~ class CommonLayout extends Component { public $title; public $h1; ~ 省略 ~ public function __construct($title,$h1) { $this->title = $title; $this->h1 = $h1; } ~ 省略 ~
※使いたい変数を全部追加する必要があるっぽい
共通設定: resources/views/components/〇〇〇-layout.blade.php
「resources/views/components/common-layout.blade.php」を修正
▼titleタグ・h1タグ(以前のファイルにh1を追加)
~ 省略 ~ <title>{{ $title }}</title> ~ 省略 ~ <h1>{{ $h1 }}</h1> ~ 省略 ~
titleタグの中身をページごとに変更させる: テキストを渡す
▼対象ファイルの修正: resources/views/HelloWorld.blade.php
<x-common-layout title="あいうえお" h1="さしすせそ"> ~ 省略 ~
titleタグの中身をページごとに変更させる: 変数を渡す
コントローラで値を渡してもらっているとする…
▼対象ファイルの修正: resources/views/HelloWorld.blade.php
<x-common-layout :title="$title" :h1="$h1"> ~ 省略 ~
変数が配列
<x-common-layout :title="$hoge['foo']" :h1="$hoge['bar']"> ~ 省略 ~
変数が配列で配列を渡す
<x-common-layout :title="$hoge_many" :h1="$piyo_many"> ~ 省略 ~
▼雛形のほうは下記のような感じ
~ 省略 ~ <title>{{ $title['foo'] }}</title> ~ 省略 ~
属性として渡したい
class属性やその他もろもろをそのまま渡したいとき
→「共通設定: app/View/Components/〇〇〇Layout.php」で設定しないものはそのまま使える
<x-common-layout :title="$title" :h1="$h1" class="hogepiyo" style="color:red;"> ~ 省略 ~
▼雛形のほうは下記のような感じ
~ 省略 ~ <h1 {{ $attributes }}>~ 省略 ~</h1> ~ 省略 ~
※「<h1 class="hogepiyo" style="color:red;">」となる
変数も渡せる
<x-common-layout :title="$title" :h1="$h1" :class="$hoge"> ~ 省略 ~